function analyzeGrades(scores) {
    // 1. 输入验证
    if (!Array.isArray(scores)) {
        throw new Error('输入必须是一个数组');
    }
    
    if (scores.length === 0) {
        throw new Error('成绩数组不能为空');
    }
    
    // 检查每个元素是否为有效数字成绩（0到100之间）
    for (let i = 0; i < scores.length; i++) {
        if (typeof scores[i] !== 'number' || isNaN(scores[i])) {
            throw new Error(`第${i + 1}个成绩不是有效数字`);
        }
        if (scores[i] < 0 || scores[i] > 100) {
            throw new Error(`第${i + 1}个成绩超出有效范围（0-100）`);
        }
    }
    
    const total = scores.length;
    let sum = 0;
    let max = scores[0];
    let min = scores[0];
    let passCount = 0;
    
    // 初始化分数段统计
    const distribution = {
        '90-100': { count: 0, percentage: '0.00%' },
        '80-89': { count: 0, percentage: '0.00%' },
        '70-79': { count: 0, percentage: '0.00%' },
        '60-69': { count: 0, percentage: '0.00%' },
        '0-59': { count: 0, percentage: '0.00%' }
    };
    
    // 2. 计算平均分、最高分、最低分、及格率和分数段分布
    for (let i = 0; i < scores.length; i++) {
        const score = scores[i];
        
        // 累加总分
        sum += score;
        
        // 寻找最高分和最低分
        if (score > max) {
            max = score;
        }
        if (score < min) {
            min = score;
        }
        
        // 统计及格人数
        if (score >= 60) {
            passCount++;
        }
        
        // 统计分数段分布
        if (score >= 90) {
            distribution['90-100'].count++;
        } else if (score >= 80) {
            distribution['80-89'].count++;
        } else if (score >= 70) {
            distribution['70-79'].count++;
        } else if (score >= 60) {
            distribution['60-69'].count++;
        } else {
            distribution['0-59'].count++;
        }
    }
    
    // 计算平均分（保留两位小数）
    const average = Number((sum / total).toFixed(2));
    
    // 计算及格率（保留两位小数，转换为百分比）
    const passRate = ((passCount / total) * 100).toFixed(2) + '%';
    
    // 计算各分数段的百分比
    for (const range in distribution) {
        const count = distribution[range].count;
        const percentage = ((count / total) * 100).toFixed(2) + '%';
        distribution[range].percentage = percentage;
    }
    
    // 6. 返回结果对象
    return {
        total: total,
        average: average,
        max: max,
        min: min,
        passRate: passRate,
        distribution: distribution
    };
}

// 以下是测试代码（与题目中提供的代码配合使用）
const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

rl.on('line', (input) => {
    try {
        // 将输入字符串转换为数字数组
        const scoresArray = input.split(',').map(item => {
            const num = parseFloat(item.trim());
            if (isNaN(num)) {
                throw new Error(`"${item}" 不是有效的数字`);
            }
            return num;
        });
        
        const result = analyzeGrades(scoresArray);
        console.dir(result, { depth: null });
    } catch (error) {
        console.error(error.message);
    } finally {
        rl.close();
    }
});